#
# Open-Channel SSD NVM configuration
#

menuconfig NVM
	bool "Open-Channel SSD target support"
	depends on BLOCK && HAS_DMA
	help
	  Say Y here to get to enable Open-channel SSDs.

	  Open-Channel SSDs implement a set of extension to SSDs, that
	  exposes direct access to the underlying non-volatile memory.

	  If you say N, all options in this submenu will be skipped and disabled
	  only do this if you know what you are doing.

if NVM

config NVM_DEBUG
	bool "Open-Channel SSD debugging support"
	default n
	---help---
	Exposes a debug management interface to create/remove targets at:

	  /sys/module/lnvm/parameters/configure_debug

	It is required to create/remove targets without IOCTLs.

config NVM_GENNVM
	tristate "General Non-Volatile Memory Manager for Open-Channel SSDs"
	---help---
	Non-volatile memory media manager for Open-Channel SSDs that implements
	physical media metadata management and block provisioning API.

	This is the standard media manager for using Open-Channel SSDs, and
	required for targets to be instantiated.

config NVM_RRPC
	tristate "Round-robin Hybrid Open-Channel SSD target"
	---help---
	Allows an open-channel SSD to be exposed as a block device to the
	host. The target is implemented using a linear mapping table and
	cost-based garbage collection. It is optimized for 4K IO sizes.

endif # NVM
